The subject matter disclosed herein relates generally to industrial control networks for controlling machines and industrial processes and, more specifically, to a network interface for individual nodes on the network which is configurable to execute in either a switch mode or a serial shift mode.
Industrial controllers are special purpose computers used for controlling factory automation and the like. Industrial controllers typically execute a control program highly customized to a particular control application. Special control languages, such as “relay ladder logic” are normally used to facilitate programming of the device. Under the direction of the stored program, a processor of the industrial controller periodically examines the state of input devices and updates the state of output devices. In order to ensure predictable control of a machine or process, the control program must be highly reliable and execute at well-defined time periods.
As industrial processes grow in complexity, an increasing number of devices are being connected to the industrial controller. The devices are often distributed about a machine or along a process line. An industrial network is typically used to connect the distributed devices and to allow data to be transmitted between the devices. However, the increasing number of devices requires an increased volume of communications between those devices. Yet, the control program still requires that the communications be performed in a well-defined time period. Thus, either the amount of time allocated to communications must increase or the transmission rate must increase. Because the industrial controller typically has a fixed time interval in which to execute each cycle of the program, it is more desirable to increase the transmission rate.
As is known to those skilled in the art, recent techniques to increase the transmission rate include data insertion or extraction from Ethernet frames without fully processing the frame. A master device generates a data frame and circulates it through a series of slave devices in a ring topology. The data frame includes a data block with portions reserved for each slave device. As the frame is received at each slave device, that device may either insert data in, or extract data from, the point in the data block reserved for that device without processing the entire frame. After accessing its portion of the data block, the slave device retransmits the data frame to the next slave device. The last slave device returns the frame to the master device to complete processing of the frame.
However, such systems have not been fully met without incurring various disadvantages. The master device is the only device capable of generating a data frame. The data frame is then circulated in a ring topology to a number of slave devices connected to the master device. Consequently, one slave device wishing to communicate with another slave device upstream from the first device must first insert data into one data frame, and the master device must then include that data into the next data frame from which the upstream slave device may extract the data on a subsequent communication cycle.
Another disadvantage of prior systems is that only one master device may talk to any of the slave devices connected to that master. Although it is common to have multiple, remote master devices, which may communicate with each other, if a remote master device needs data from, or needs to supply data to, a slave device connected to a second master device, the remote master device cannot communicate directly with that slave device.